#ifndef FONCTIONCPP_H
#define FONCTIONCPP_H

/*!
 * \file fonctioncpp.h
 * \brief Classe qui représente une fonction au sens C++: une liste de chaine-instruction C++ de la fonction C++
 * \author bruneau-hay
 * \version 0.1
 */

#include <fstream>
#include <iostream>
#include <vector>
#include <map>

using namespace std;

class fonctioncpp
{
private:
	string nom_fonctioncpp;/*Nom de la fonction */
	
	vector<string> vect_ins_CPP;/*Vecteur qui contient les instructions-chaines c++*/
	
	
public:
/*!
 * \brief Constructeur vide
 */
fonctioncpp();
/*!
 * \brief Constructeur avec un nom de fonction
 * 
 * \param name: Nom de la fonction
 */
fonctioncpp(const string & name);

/*!
 * \brief Met le contenu de vectInsCPPString dans of
 * 
 * \param of: flux de sortie
 */
void streamize(ofstream & of);

/*!
 * \brief Ajout d'une chaine-instruction c++
 * 
 * \param ligne : la chaine-instruction c++
 */
void addInst(const string & ligne);

/*!
 * \brief Vérificateur de consistance
 * 
 * \return true si vectInsCPPString est vide
 */
bool isEmpty();

};

#endif // FONCTIONCPP_H
